'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 readbuffe
.ds Xs 2004 4 readbuffer.gl
.TH GLREADBUFFER 3G
.SH NAME
.B "glReadBuffer
\- select a color buffer source for pixels

.SH C SPECIFICATION
void \f3glReadBuffer\fP(
GLenum \fImode\fP )
.nf
.fi

.SH PARAMETERS
.TP \w'\f2mode\fP\ \ 'u 
\f2mode\fP
Specifies a color buffer.
Accepted values are
\%\f3GL_FRONT_LEFT\fP,
\%\f3GL_FRONT_RIGHT\fP,
\%\f3GL_BACK_LEFT\fP,
\%\f3GL_BACK_RIGHT\fP,
\%\f3GL_FRONT\fP,
\%\f3GL_BACK\fP,
\%\f3GL_LEFT\fP,
\%\f3GL_RIGHT\fP, and
\%\f3GL_AUX\fP\f2i\fP,
where \f2i\fP is between 0 and \%\f3GL_AUX_BUFFERS\fP \-1.
.SH DESCRIPTION
\%\f3glReadBuffer\fP specifies a color buffer as the source for subsequent
\%\f3glReadPixels\fP, \%\f3glCopyTexImage1D\fP, \%\f3glCopyTexImage2D\fP,
\%\f3glCopyTexSubImage1D\fP, \%\f3glCopyTexSubImage2D\fP,
\%\f3glCopyTexSubImage3D\fP, and
\%\f3glCopyPixels\fP commands. 
\f2mode\fP accepts one of twelve or more predefined values.
(\%\f3GL_AUX0\fP through \%\f3GL_AUX3\fP are always defined.)
In a fully configured system,
\%\f3GL_FRONT\fP,
\%\f3GL_LEFT\fP, and
\%\f3GL_FRONT_LEFT\fP all name the front left buffer,
\%\f3GL_FRONT_RIGHT\fP and
\%\f3GL_RIGHT\fP name the front right buffer, and
\%\f3GL_BACK_LEFT\fP and
\%\f3GL_BACK\fP name the back left buffer.
.P
Nonstereo double-buffered configurations have only a front left and a
back left buffer.
Single-buffered configurations have a front left and a front right 
buffer if stereo, and only a front left buffer if nonstereo.
It is an error to specify a nonexistent buffer to \%\f3glReadBuffer\fP.
.P
\f2mode\fP is initially \%\f3GL_FRONT\fP in single-buffered configurations,
and \%\f3GL_BACK\fP in double-buffered configurations.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not one of the twelve
(or more) accepted values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2mode\fP specifies a buffer
that does not exist.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glReadBuffer\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_READ_BUFFER\fP
.SH SEE ALSO
\%\f3glCopyPixels(3G)\fP,
\%\f3glCopyTexImage1D(3G)\fP,
\%\f3glCopyTexImage2D(3G)\fP,
\%\f3glCopyTexSubImage1D(3G)\fP,
\%\f3glCopyTexSubImage2D(3G)\fP,
\%\f3glCopyTexSubImage3D(3G)\fP,
\%\f3glDrawBuffer(3G)\fP,
\%\f3glReadPixels(3G)\fP
